package com.sg.dto.integration.app;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;

/**
 * @desc StakeholdersProblemDto
 * @使用场景
 */
@Data
public class StakeholdersProblemDto extends BaseDto implements Serializable {

    /**
     * 问题干系人身份人员ID
     */
    @ApiModelProperty("问题干系人身份人员ID")
    private String problemStakeholderOriginalRoleMemberId;

    /**
     * 问题干系人账号
     */
    @ApiModelProperty("问题干系人账号")
    private String problemStakeholderUserId;

    /**
     * 问题干系人就职记录ID
     */
    @ApiModelProperty("问题干系人就职记录ID")
    private String problemStakeholderInductionId;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        StakeholdersProblemDto that = (StakeholdersProblemDto) o;
        return (
                problemStakeholderOriginalRoleMemberId ==
                        that.problemStakeholderOriginalRoleMemberId &&
                        problemStakeholderUserId == that.problemStakeholderUserId &&
                        problemStakeholderInductionId == that.problemStakeholderInductionId
        );
    }

    @Override
    public int hashCode() {
        return Objects.hash(
                super.hashCode(),
                problemStakeholderOriginalRoleMemberId,
                problemStakeholderUserId,
                problemStakeholderInductionId
        );
    }

}
